简介 上一篇只是大致的提一下百度地图API的Android SDK的基本内容,然后抄袭一个官网上的Demo,今天看一下百度地图的第一部分,地图类型和基本的显示。
简单实战 不同类型地图的显示
1 2 3 4 5 6 7 8 9 private void setMapType (int type) { if (mBaiduMap != null ) { mBaiduMap.setMapType(type); } }
实时交通图和百度城市热力图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 private void setTrafficMap (boolean enabled) { if (mBaiduMap != null ) { mBaiduMap.setTrafficEnabled(enabled); } } private void setHeatMap (boolean enabled) { if (mBaiduMap != null ) { mBaiduMap.setBaiduHeatMapEnabled(enabled); } }
实时交通图 (此图是在地图类型为空白地图时显示的)
百度城市交通热力图
地图控制和手势
地图控制 地图Logo 默认在左下角显示,不可以移除。 通过mMapView.setLogoPosition(LogoPosition.logoPostionleftBottom);方法,使用枚举类型控制显示的位置,共支持6个显示位置(左下,中下,右下,左上,中上,右上)。 地图Logo不允许遮挡,可通过mBaiduMap.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);方法可以设置地图边界区域,来避免UI遮挡。 其中参数paddingLeft、paddingTop、paddingRight、paddingBottom参数表示距离屏幕边框的左、上、右、下边距的距离,单位为屏幕坐标的像素密度。 指南针 指南针默认为开启状态,可以关闭显示 。 比例尺 比例尺默认为开启状态,可以关闭显示。同时支持设置MaxZoomLevel和minZoomLevel,可通过mMapView.getMapLevel获取当前地图级别下比例尺所表示的距离大小。
具体的显示位置和内容如下 备注:指南针旋转地图的时候才会出现,一开始加载的时候是不会出现的
地图平移控制是否启用或禁用平移的功能,默认开启。如果启用,则用户可以平移地图 地图缩放控制是否启用或禁用缩放手势,默认开启。如果启用,用户可以双指点击或缩放地图视图。 地图俯视(3D)控制是否启用或禁用俯视(3D)功能,默认开启。如果启用,则用户可使用双指 向下或向上滑动到俯视图。 地图旋转控制是否启用或禁用地图旋转功能,默认开启。如果启用,则用户可使用双指 旋转来旋转地图。 禁止所有手势控制是否一并禁止所有手势,默认关闭。如果启用,所有手势都将被禁用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 mUiSettings = mBaiduMap.getUiSettings(); setSizeByBoolean(fabZoom, mUiSettings.isZoomGesturesEnabled()); setSizeByBoolean(fabZoom, mUiSettings.isZoomGesturesEnabled()); setSizeByBoolean(fabScroll, mUiSettings.isScrollGesturesEnabled()); setSizeByBoolean(fabOverlook, mUiSettings.isOverlookingGesturesEnabled()); setSizeByBoolean(fabRotate, mUiSettings.isRotateGesturesEnabled()); setSizeByBoolean(fabCompass, mUiSettings.isCompassEnabled()); private void setSizeByBoolean (FloatingActionButton fab , boolean bl) { if (bl) { fab.setButtonSize(FloatingActionButton.SIZE_NORMAL); } else { fab.setButtonSize(FloatingActionButton.SIZE_MINI); } } public void onClick (View view) {... case R.id.fab_zoom: if (mUiSettings.isZoomGesturesEnabled()) { mUiSettings.setZoomGesturesEnabled(false ); fabZoom.setButtonSize(FloatingActionButton.SIZE_MINI); } else { mUiSettings.setZoomGesturesEnabled(true ); fabZoom.setButtonSize(FloatingActionButton.SIZE_NORMAL); } break ; case R.id.fab_scroll: if (mUiSettings.isScrollGesturesEnabled()) { mUiSettings.setScrollGesturesEnabled(false ); fabScroll.setButtonSize(FloatingActionButton.SIZE_MINI); } else { mUiSettings.setScrollGesturesEnabled(true ); fabScroll.setButtonSize(FloatingActionButton.SIZE_NORMAL); } break ; case R.id.fab_rotate: if (mUiSettings.isRotateGesturesEnabled()) { mUiSettings.setRotateGesturesEnabled(false ); fabRotate.setButtonSize(FloatingActionButton.SIZE_MINI); } else { mUiSettings.setRotateGesturesEnabled(true ); fabRotate.setButtonSize(FloatingActionButton.SIZE_NORMAL); } break ; case R.id.fab_overlook: if (mUiSettings.isOverlookingGesturesEnabled()) { mUiSettings.setOverlookingGesturesEnabled(false ); fabOverlook.setButtonSize(FloatingActionButton.SIZE_MINI); } else { mUiSettings.setOverlookingGesturesEnabled(true ); fabOverlook.setButtonSize(FloatingActionButton.SIZE_NORMAL); } break ; case R.id.fab_compass: if (mUiSettings.isCompassEnabled()) { mUiSettings.setCompassEnabled(false ); fabCompass.setButtonSize(FloatingActionButton.SIZE_MINI); } else { mUiSettings.setCompassEnabled(true ); fabCompass.setButtonSize(FloatingActionButton.SIZE_NORMAL); } break ; ... }
实际结果 (好像并不能从图里看出什么呵 - - !)